import apis from '@/services/api'
import {request, METHOD, removeAuthorization} from '@/utils/request'

/**
 * 登录服务
 * @param data 数据
 * @param data.name 账户名
 * @param data.password 账户密码
 * @returns {Promise<AxiosResponse<T>>}
 */
export function login(data) {
  return request(apis.LOGIN, METHOD.POST_PARAM, data)
}
/**
 * 获取当前登录的用户信息
 * @param data 数据
 */
export function getCurrentUser(data) {
  return request(apis.GET_CURRENT_USER, METHOD.POST, data)
}
/**
 * 需求申报列表
 * @param data 数据
 */
export function getCbsbxmList(data) {
  return request(apis.GET_CBSBXM_LIST, METHOD.POST_PARAM, data)
}
/**
 *
 * @param data 数据
 */
export function getZzjgByJsdwbm(data) {
  return request(apis.GET_ZZJG_BY_JSDWBM, METHOD.POST, data)
}
/**
 * 年份下拉框
 * @param data 数据
 */
export function getNfCombox(data) {
  return request(apis.GET_NF_COMBOX, METHOD.POST, data)
}
/**
 * 项目类型下拉框
 * @param data 数据
 */
export function getXmlxCombox(data) {
  return request(apis.GET_XMLX_COMBOX, METHOD.POST, data)
}
/**
 * 项目类型map
 * @param data 数据
 */
export function getCbxmlx(data) {
  return request(apis.GET_CBXMLX, METHOD.POST, data)
}
/**
 * 删除项目
 * @param data 数据
 */
export function deleteSbxm(data) {
  return request(apis.DELETE_SBXM, METHOD.POST, data)
}
/**
 * 新增项目
 * @param data 数据
 */
export function saveCbsbxm(data) {
  return request(apis.SAVE_CBSBXM, METHOD.POST, data)
}
/**
 * 提交项目
 * @param data 数据
 */
export function checkCkbgBeforeSubmit(data) {
  return request(apis.CHECK_CKBG_BEFORE_SUBMIT, METHOD.POST, data)
}
/**
 * 导出项目
 * @param data 数据
 */
export function exportXmDataBySpdw(data) {
  return request(apis.EXPORT_XM_DATA_BY_SPDW, METHOD.DOWNLOAD, data)
}

export async function getRoutesConfig() {
  return request(apis.ROUTES, METHOD.GET)
}

/**
 * 退出登录
 */
export function logout() {
  localStorage.removeItem(process.env.VUE_APP_ROUTES_KEY)
  localStorage.removeItem(process.env.VUE_APP_PERMISSIONS_KEY)
  localStorage.removeItem(process.env.VUE_APP_ROLES_KEY)
  removeAuthorization()
}
export default {
  login,
  logout,
  getRoutesConfig
}
